package com.peak.distribution.vo.agent;

import java.util.Date;

import com.peak.distribution.enums.AgentLevel;
import com.peak.distribution.enums.Constants;
import com.peak.spring.boot.api.web.IdVo;
import com.peak.spring.boot.core.mapper.Format;
import com.peak.spring.boot.core.mapper.Format.TransferFormat;
import com.peak.spring.boot.core.mapper.Transfer;

import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
public class DisAgentVo extends IdVo {

	private static final long serialVersionUID = Constants.DISTRIBUTION_VERSION;

	/** 头像 */
	private String headUrl;

	/** 姓名 */
	private String name;
	
	/** 性别 */
	@Format(format = TransferFormat.PROPERTIES, key = "agent.sex")
	private Boolean sex;

	/** 手机号码 */
	private String mobileNo;

	/** 邮箱 */
	private String email;

	/** QQ号码 */
	private String qq;

	/** 微信号 */
	private String wechat;
	
	/** 签名 */
	private String signature;
	
	/** 代理等级 */
	@Format(format = TransferFormat.ENUM)
	private AgentLevel level;
	
	/** 加入时间 */
	@Format(format = TransferFormat.DATE, key = "yyyy-MM-dd")
	private Date joinTime;
	
	/** 审核状态：通过true，未审核或者不通过false */
	@Format(format = TransferFormat.PROPERTIES, key="agent.audit.status")
	private Boolean auditStatus;
	
	/** 下级代理人数 */
	private Integer subAgentCount;
	
	/** 父代理ID */
	@Transfer(mapping = "parent.id")
	private Integer parentId;
	
	@Transfer(mapping = "parent.name")
	private String parentName;
}
